home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-28 | 8.2 KB | 258 lines |
- 10 'KFACTOR - for Antennas - 06 MAY 96 rev.27 SEP 96
- 20 'edited-for-HAMCALC version of KNEC.BAS, by L.B.Cebik, W4RNL
- 30 IF EX$=""THEN EX$="EXIT"
- 40 IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
- 50 COMMON EX$,PROG$
- 60 CLS:KEY OFF
- 70 COLOR 7,0,1
- 80 I$=CHR$(34)+" ="
- 90 UL$=STRING$(80,205)
- 100 U1$="#####.##"
- 110 U2$="####.####"
- 120 X$=STRING$(79,32)
- 130 '
- 140 '.....title
- 150 CLS:F=0
- 160 COLOR 15,2
- 170 PRINT " K-FACTOR & ANTENNA LENGTH (NEC-2)";TAB(62);"by L.B.Cebik W4RNL ";
- 180 PRINT STRING$(80,32);
- 190 LOCATE CSRLIN-1,20:PRINT "Edited for HAMCALC by George Murphy VE3ERP";
- 200 COLOR 1,0:PRINT STRING$(80,223);:COLOR 7,0
- 210 '
- 220 '.....antenna disclaimer
- 230 OPEN"I",1,"\data\docfiles\antenna.doc"
- 240 IF EOF(1)THEN 260
- 250 INPUT#1,NOTE$:PRINT " ";NOTE$:GOTO 240
- 260 CLOSE
- 270 PRINT UL$;
- 280 '
- 290 GOSUB 2230 'preface
- 300 COLOR 0,7:LOCATE 25,22
- 310 PRINT " Press 1 to continue or 0 to EXIT.....";
- 320 COLOR 7,0
- 330 Z$=INKEY$:IF Z$=""THEN 330
- 340 IF Z$="0"THEN CLS:CHAIN GO$
- 350 IF Z$="1"THEN CLS:GOTO 370
- 360 GOTO 330
- 370 CLS
- 380 PRINT " Press number in < > to choose standard units of measure:"
- 390 PRINT UL$;
- 400 PRINT " < 1 > Metric"
- 410 PRINT " < 2 > U.S.A./Imperial
- 420 PRINT UL$;
- 430 Z$=INKEY$:IF Z$=""THEN 430
- 440 IF Z$="1"THEN UM=1:GOTO 470
- 450 IF Z$="2"THEN UM=2:GOTO 470
- 460 GOTO 430
- 470 CLS
- 480 PRINT " Press number in < > for:"
- 490 PRINT UL$;
- 500 PRINT " < 3 > Horizontal antenna lengths from 1 to 7 half-wavelengths"
- 510 PRINT
- 520 PRINT " < 4 > Vertical antenna lengths from 1 to 7 quarter-wavelengths"
- 530 IF VK=1 THEN 570
- 540 PRINT
- 550 PRINT " < 5 > Table of values of K, with lengths of DEFSTR-wavelength vertical"
- 560 PRINT " and RENUM-wavelength horizontal antennas"
- 570 Z$=INKEY$:IF Z$=""THEN 570
- 580 IF Z$="3"THEN HV=1:GOTO 630
- 590 IF Z$="4"THEN HV=0.5:GOTO 630
- 600 IF Z$="5"THEN VK=1:GOTO 1420
- 610 GOTO 570
- 620 '
- 630 '.....Option A calculations
- 640 CLS
- 650 COLOR 15,2:PRINT STRING$(80,32);
- 660 LOCATE 1,8
- 670 IF HV=0.5 THEN 700
- 680 PRINT "Table of Horizontal Antenna Lengths from 1 to 7 Half-Wavelengths"
- 690 IF HV=1 THEN 710
- 700 PRINT "Table of Vertical Antenna Lengths from 1 to 7 Quarter-Wavelengths"
- 710 COLOR 7,0
- 720 PRINT
- 730 PRINT " AWG Wire sizes are copper. Other conductor sizes are aluminum.";
- 740 IF HV=0.5 THEN PRINT " Vertical antennas assumed to be over perfect ground."
- 750 PRINT UL$;
- 760 IF F*WLF THEN 820
- 770 COLOR 0,7:INPUT " ENTER: Frequency of interest in MHz......",F
- 780 COLOR 7,0
- 790 IF F<3 OR F>30 THEN LOCATE CSRLIN-1:PRINT X$:LOCATE CSRLIN-1:GOTO 770
- 800 WLF=983.571/F 'speed of light = 983.5712 feet per second
- 810 LOCATE CSRLIN-1:PRINT X$:LOCATE CSRLIN-1
- 820 PRINT" Frequency =";F;"MHz";
- 830 IF UM=1 THEN M=0.3048:F$="metres"
- 840 IF UM=2 THEN M=1:F$="feet"
- 850 IF HV=1 THEN W$="RENUM"
- 860 IF HV=0.5 THEN W$="DEFSTR"
- 870 M$=" Lengths in "+F$+" for N no. of "+W$+"-wavelengths "
- 880 PRINT TAB(25)"Wavelength in Free Space =";:PRINT USING "####.##";WLF*M;
- 890 PRINT" ";F$
- 900 PRINT UL$;
- 910 PRINT " VARPTRSOUNDSOUNDSOUNDSOUND Wire Size SOUNDSOUNDSOUNDSOUNDCOLOR";
- 920 PRINT TAB(25)"VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND";SPC(39);"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR"
- 930 LOCATE CSRLIN-1,(52-LEN(M$)/2):PRINT M$
- 940 PRINT " AWG";
- 950 PRINT TAB(27);"N=1 N=2 N=3 N=4 N=5 N=6 N=7"
- 960 PRINT UL$;
- 970 FOR A=1 TO 14
- 980 ON A GOTO 1000,1010,1020,1030,1040,1050,1060,1070,1080,1090,1100,1110,1120,1130
- 990 '
- 1000 W$=" #18-0.0403":LQL=959.435:LQH=95.335:LTL=6848.87:LTH=684.82:GOTO 1150
- 1010 W$=" #16-0.0508":LQL=959.183:LQH=95.252:LTL=6850.53:LTH=684.8:GOTO 1150
- 1020 W$=" #14-0.0641":LQL=958.885:LQH=95.154:LTL=6851.67:LTH=684.768:GOTO 1150
- 1030 W$=" #12-0.0808":LQL=958.478:LQH=95.048:LTL=6852.43:LTH=684.699:GOTO 1150
- 1040 W$=" #10-0.1019":LQL=958.001:LQH=94.931:LTL=6852.81:LTH=684.618:GOTO 1150
- 1050 W$=" 0.125" :LQL=957.22:LQH=94.807:LTL=6850.95:LTH=684.45:GOTO 1150
- 1060 W$=" 0.250" :LQL=955.36:LQH=94.35:LTL=6851.31:LTH=684.082:GOTO 1150
- 1070 W$=" 0.500" :LQL=952.85:LQH=93.734:LTL=6850.05:LTH=683.55:GOTO 1150
- 1080 W$=" 0.750" :LQL=951.03:LQH=93.275:LTL=6848.59:LTH=683.144:GOTO 1150
- 1090 W$=" 1.000" :LQL=949.58:LQH=92.898:LTL=6847.46:LTH=682.82:GOTO 1150
- 1100 W$=" 1.250" :LQL=948.31:LQH=92.575:LTL=6846.2:LTH=682.555:GOTO 1150
- 1110 W$=" 1.500" :LQL=947.22:LQH=92.292:LTL=6845.25:LTH=682.332:GOTO 1150
- 1120 W$=" 1.750" :LQL=946.22:LQH=92.038:LTL=6844.28:LTH=682.14:GOTO 1150
- 1130 W$=" 2.000" :LQL=945.3:LQH=91.812:LTL=6843.45:LTH=681.983:GOTO 1150
- 1140 '
- 1150 Q=2950.71:LQW=Q/F:LQWH=Q/30:LQWL=Q/3:KQH=LQH/LQWH:KQL=LQL/LQWL
- 1160 KTH=LTH/(3*LQWH):KTL=LTL/(3*LQWL)
- 1170 EE=(((F/3)-1)*0.0333333)+0.61:KQW=KQH+((0.4343*LOG(30/F))^EE)*(KQL-KQH)
- 1180 KTQ=KTH+((0.4343*LOG(30/F))^EE)*(KTL-KTH)
- 1190 LQ=KQW*LQW:LT=KTQ*(3*LQW):KE=(6*LQ)/(LT-LQ):KM=KQW/KE
- 1200 IF A<=5 THEN MM=VAL(RIGHT$(W$,5))ELSE MM=VAL(W$)
- 1210 MM=MM*25.4
- 1220 IF A>5 THEN PRINT SPC(6);
- 1230 PRINT W$;I$;
- 1240 LOCATE CSRLIN,15:PRINT USING "##.#";MM;:PRINT "mm";
- 1250 LOCATE CSRLIN,23
- 1260 FOR B=1 TO 7
- 1270 BB=B-1:LD=(2*LQW)/12:LL=((BB*LD)*KM)+(KQW*LD)
- 1280 PRINT USING U1$;LL*M*HV;
- 1290 NEXT B
- 1300 NEXT A
- 1310 '
- 1320 GOSUB 2450 'screen dump
- 1330 LOCATE 25,1:PRINT X$;:LOCATE 25,8:COLOR 15,2
- 1340 PRINT " Do you want (a)nother run, (v)alues of K, or (q)uit? (a/v/q) ";
- 1350 COLOR 7,0
- 1360 Z$=INKEY$:IF Z$=""THEN 1360
- 1370 IF Z$="a"THEN F=0:GOTO 630
- 1380 IF Z$="v"THEN VK=1:GOTO 1420
- 1390 IF Z$="q"THEN 140
- 1400 GOTO 1360
- 1410 '
- 1420 '.....Option B calculations
- 1430 CLS
- 1440 COLOR 15,2:PRINT STRING$(80,32);
- 1450 LOCATE 1,16:PRINT "Calculation of K, the Antenna Shortening Factor"
- 1460 COLOR 7,0
- 1470 LOCATE 3,1
- 1480 PRINT" KT is the total shortening factor. KM is the shortening factor";
- 1490 PRINT" due to element"
- 1500 PRINT" material. KE is the shortening factor due to end effect. Values";
- 1510 PRINT" calibrated to"
- 1520 PRINT" NEC-2 models for 3-30 MHz. AWG sizes are copper. Other sizes";
- 1530 PRINT" are aluminum."
- 1540 PRINT UL$;
- 1550 IF F*WLF THEN 1620
- 1560 COLOR 0,7
- 1570 INPUT " ENTER: Frequency of interest in MHz......",F
- 1580 COLOR 7,0
- 1590 IF F<3 OR F>30 THEN LOCATE CSRLIN-1:PRINT X$:LOCATE CSRLIN-1:GOTO 1560
- 1600 WLF=983.571/F
- 1610 LOCATE CSRLIN-1:PRINT X$
- 1620 IF UM=1 THEN M$=" metres":Z=0.3048
- 1630 IF UM=2 THEN M$=" feet":Z=1
- 1640 LOCATE 7,1:PRINT" Frequency =";F;"MHz. Wavelength in Free Space =";
- 1650 PRINT USING "####.##";WLF*Z;:PRINT M$
- 1660 IF UM=1 THEN M$="Lgth (m.)"
- 1670 IF UM=2 THEN M$="Lgth (ft)"
- 1680 LOCATE 8:PRINT "VARPTRSOUNDSOUNDSOUNDSOUND Wire Size SOUNDSOUNDSOUNDSOUNDCOLOR"
- 1690 LOCATE 8,49:PRINT " DEFSTR-wave Vertical RENUM-wave Dipole ";
- 1700 LOCATE 9:PRINT " AWG"
- 1710 LOCATE 9,26:PRINT"KT KM KE"
- 1720 LOCATE 9,53:PRINT M$;SPC(7);M$
- 1730 LOCATE 10:PRINT UL$;
- 1740 FOR A=1 TO 14
- 1750 ON A GOTO 1770,1780,1790,1800,1810,1820,1830,1840,1850,1860,1870,1880,1890, 1900
- 1760 '
- 1770 W$=" #18-0.0403":LQL=959.435:LQH=95.335:LTL=6848.87:LTH=684.82:GOTO 1910
- 1780 W$=" #16-0.0508":LQL=959.183:LQH=95.252:LTL=6850.53:LTH=684.8:GOTO 1910
- 1790 W$=" #14-0.0641":LQL=958.885:LQH=95.154:LTL=6851.67:LTH=684.768:GOTO 1910
- 1800 W$=" #12-0.0808":LQL=958.478:LQH=95.048:LTL=6852.43:LTH=684.699:GOTO 1910
- 1810 W$=" #10-0.1019":LQL=958.001:LQH=94.931:LTL=6852.81:LTH=684.618:GOTO 1910
- 1820 W$=" 0.125" :LQL=957.22:LQH=94.807:LTL=6850.95:LTH=684.45:GOTO 1910
- 1830 W$=" 0.250" :LQL=955.36:LQH=94.35:LTL=6851.31:LTH=684.082:GOTO 1910
- 1840 W$=" 0.500" :LQL=952.85:LQH=93.734:LTL=6850.05:LTH=683.55:GOTO 1910
- 1850 W$=" 0.750" :LQL=951.03:LQH=93.275:LTL=6848.59:LTH=683.144:GOTO 1910
- 1860 W$=" 1.000" :LQL=949.58:LQH=92.898:LTL=6847.46:LTH=682.82:GOTO 1910
- 1870 W$=" 1.250" :LQL=948.31:LQH=92.575:LTL=6846.2:LTH=682.555:GOTO 1910
- 1880 W$=" 1.500" :LQL=947.22:LQH=92.292:LTL=6845.25:LTH=682.332:GOTO 1910
- 1890 W$=" 1.750" :LQL=946.22:LQH=92.038:LTL=6844.28:LTH=682.14:GOTO 1910
- 1900 W$=" 2.000" :LQL=945.3:LQH=91.812:LTL=6843.45:LTH=681.983:GOTO 1910
- 1910 Q=2950.71:LQW=Q/F:LQWH=Q/30:LQWL=Q/3:KQH=LQH/LQWH:KQL=LQL/LQWL
- 1920 KTH=LTH/(3*LQWH):KTL=LTL/(3*LQWL)
- 1930 EE=(((F/3)-1)*0.0333333)+0.61:KQW=KQH+((0.4343*LOG(30/F))^EE)*(KQL-KQH)
- 1940 KTQ=KTH+((0.4343*LOG(30/F))^EE)*(KTL-KTH)
- 1950 LQ=KQW*LQW:LT=KTQ*(3*LQW):KE=(6*LQ)/(LT-LQ):KM=KQW/KE
- 1960 IF KM>0.9999 THEN KM=0.9999
- 1970 V=KQW*(245.893/F):D=V*2
- 1980 IF A<=5 THEN MM=VAL(RIGHT$(W$,5))ELSE MM=VAL(W$)
- 1990 MM=MM*25.4
- 2000 IF A>5 THEN PRINT SPC(4);
- 2010 PRINT W$;I$;
- 2020 LOCATE CSRLIN,15:PRINT USING "##.#";MM;:PRINT "mm";
- 2030 LOCATE CSRLIN,21
- 2040 PRINT USING U2$;KQW;KM;KE;
- 2050 IF UM=1 THEN Z=0.3048
- 2060 IF UM=2 THEN Z=1
- 2070 PRINT SPC(4);USING U1$;V*Z;
- 2080 PRINT SPC(8);USING U1$;D*Z;
- 2090 IF A<14 THEN PRINT ""
- 2100 NEXT A
- 2110 GOSUB 2450 'screen dump
- 2120 '
- 2130 LOCATE 25,1:PRINT X$;:LOCATE 25,8:COLOR 15,2
- 2140 PRINT " Do you want (a)nother run, (w)ire lengths, or (q)uit? (a/w/q) ";
- 2150 COLOR 7,0
- 2160 Z$=INKEY$:IF Z$=""THEN 2160
- 2170 IF Z$="a"THEN F=0:GOTO 1420
- 2180 IF Z$="w"THEN VK=1:GOTO 470
- 2190 IF Z$="q"THEN 140
- 2200 GOTO 2160
- 2210 END
- 2220 '
- 2230 '.....preface
- 2240 T=7
- 2250 PRINT TAB(T);
- 2260 PRINT "This program calculates values of the antenna shortening factor and"
- 2270 PRINT TAB(T);
- 2280 PRINT "and antenna lengths, including quarter-wave verticals over perfect"
- 2290 PRINT TAB(T);
- 2300 PRINT "ground, half-wavelength dipoles in free space, and long wire"
- 2310 PRINT TAB(T);
- 2320 PRINT "vertical and horizontal antennas. The frequency limits are 3 to 30"
- 2330 PRINT TAB(T);
- 2340 PRINT "MHz. All dimensions are calibrated to NEC-2 antenna models."
- 2350 PRINT
- 2360 PRINT TAB(T);
- 2370 PRINT "Programmed materials are AWG #18 (1.0mm) to AWG #10 (2.6mm) copper"
- 2380 PRINT TAB(T);
- 2390 PRINT "wire, and aluminum rod or tubing from 1.125";CHR$(34);" (3.2mm) to";
- 2400 PRINT " 2";CHR$(34);" (50.8mm)"
- 2410 PRINT TAB(T);
- 2420 PRINT "diameter."
- 2430 RETURN
- 2440 '
- 2450 'HARDCOPY
- 2460 GOSUB 2570:LOCATE 25,2:COLOR 14,6
- 2470 PRINT " Press 1 to print screen, 2 to print screen & ";
- 2480 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 2490 Z$=INKEY$:IF Z$="3"THEN GOSUB 2570:RETURN
- 2500 IF Z$="1"OR Z$="2"THEN GOSUB 2570:GOTO 2520
- 2510 GOTO 2490
- 2520 FOR QX=1 TO 24:FOR QY=1 TO 80
- 2530 LPRINT CHR$(SCREEN(QX,QY));
- 2540 NEXT QY:NEXT QX
- 2550 IF Z$="2"THEN LPRINT CHR$(12)
- 2560 GOTO 2460
- 2570 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-